Increasingly, system developers are required to make systems and applications easier to use and more intuitive. Many advances have recently occurred in ergonomics, but none have addressed the issue of managing and updating components employed by an application or system program on the fly. A component refers to a document, font, tool, shared library, or other system resource. An example of analogous art is in IBM PS/2 computer. Certain cards that are properly designed to comply with the MicroChannel architecture can be plugged in to a PS/2 system and used without reconfiguring the system. However, the card may still require configuration and any application program requiring resources present on the card must be properly designed, coded, compiled, link-edited and debugged before making use of the resources.
Ideally, system programs and applications should be able to identify system components dynamically. The system should also be able to inform any system programs or applications of resource updates as changes in a system occur. No approach to addressing these problems has, to date, been proposed.